//package cn.lijiancn01.demo.business.tenant.service;
//
//import cn.lijiancn01.demo.business.tenant.dao.TenantDao;
//import cn.lijiancn01.demo.business.tenant.model.SaveTenantDTO;
//import cn.lijiancn01.demo.business.tenant.model.TenantConvert;
//import cn.lijiancn01.demo.business.tenant.model.TenantDO;
//import cn.lijiancn01.demo.business.tenant.model.TenantDTO;
//import cn.lijiancn01.demo.business.tenant.model.TenantQuery;
//import cn.lijiancn01.demo.framework.exception.BizException;
//import cn.lijiancn01.demo.framework.model.PageResult;
//import cn.lijiancn01.demo.framework.util.BeanUtil;
//import com.google.common.collect.Lists;
//import org.apache.commons.collections4.CollectionUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.domain.Example;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//import java.util.Objects;
//
//@Service
//public class TenantSercice {
//    @Autowired
//    private TenantDao tenantDao;
//
//    public PageResult<TenantDTO> list(TenantQuery req) {
//        PageResult<TenantDTO> table = new PageResult();
//        TenantDO queryDO = TenantConvert.INSTANCE.to(req);
//        Example example = Example.of(queryDO);
//        long total = tenantDao.count(example);
//        if (total > 0) {
//            List<TenantDO> tenants = tenantDao.findAll(example);
//            if (CollectionUtils.isNotEmpty(tenants)) {
//                table.setTotal((int) total);
//                table.setItems(TenantConvert.INSTANCE.toList(tenants));
//            }
//        }
//
//        return table;
//    }
//
//    public void save(SaveTenantDTO saveTenantDTO) {
//        TenantDO tenantDO = tenantDao.findByTenantCode(saveTenantDTO.getTenantCode());
//        if (Objects.isNull(tenantDO)) {
//            throw new BizException("你要操作的数据不存在" + saveTenantDTO.getTenantCode());
//        }
//        BeanUtil.copyBean(saveTenantDTO, tenantDO, true);
//        tenantDao.saveAndFlush(tenantDO);
//    }
//
//    public void add(SaveTenantDTO saveTenantDTO) {
//        TenantDO tenantDO = tenantDao.findByTenantCode(saveTenantDTO.getTenantCode());
//        if (Objects.nonNull(tenantDO)) {
//            throw new BizException("已存在的租户" + saveTenantDTO.getTenantCode());
//        }
//        TenantDO add = BeanUtil.copyBean(saveTenantDTO, TenantDO.class);
//        tenantDao.saveAndFlush(add);
//    }
//
//    public void delete(String tenantCode) {
//        TenantDO tenantDO = tenantDao.findByTenantCode(tenantCode);
//        if (Objects.isNull(tenantDO)) {
//            throw new BizException("你要操作的数据不存在" + tenantCode);
//        }
//        tenantDao.deleteAllByIdInBatch(Lists.newArrayList(tenantDO.getId()));
//    }
//
//    public void batchDelete(List<String> tenantCodes) {
//        List<TenantDO> list = tenantDao.findByTenantCodeIn(tenantCodes);
//        tenantDao.deleteAllInBatch(list);
//    }
//}
